package org.base.sys.service;

    import org.base.sys.VO.MenuVO;
    import org.base.sys.VO.SysRoleVO;
    import org.base.sys.pojo.SysMenuPermission;
    import org.base.sys.pojo.SysRole;
import org.base.common.service.IService;
import org.base.sys.query.SysRoleQuery;

    import java.util.List;

/**
 * <p>
 * 角色信息 服务类
 * </p>
 *
 * @author AutoGenerator
 * @since 2020-05-27
 */
public interface SysRoleService extends IService<SysRole, SysRoleQuery> {

    boolean disable(Long id);

    boolean enable(Long id);

    SysRoleVO getRoleVOById(Long id);

    boolean saveOrUpdateRoleVO(SysRoleVO entity);

    List<SysRole> getRoleByIds(List<Long> roleIds);

    List<String> getRolePermissions(List<Long> roleIds);

    List<SysMenuPermission> getRolePerms(List<Long> roleIds);

    List<SysMenuPermission>  getAllPerms();

    List<SysMenuPermission> getRoleVisibleMenus(List<Long> roleIds);

    List<SysMenuPermission> getVisibleMenus();

    List<MenuVO> getRoleMenuByIds(List<Long> roleIds);

    List<MenuVO> getMenus();

    List<MenuVO> getRoleMenus(List<SysRole> userRoles);
}
